!!! Plošný model struktury B pro nelineární úlohu při zatížení ve směru osy y !!!

FINISH
/CLEAR

*ABBR,INPUT,'/INPUT,strukturaB_nonlinear_Y,txt'    

*AFUN,RAD            
 PI=4*ATAN(1)        ! vypocet hodnoty PI
*AFUN,DEG          

!!!!!!!!!!!!!!!!!!!
!!! PREPROCESOR !!!
!!!!!!!!!!!!!!!!!!!


/PREP7
       
*AFUN,DEG            

!!! Vstupni parametry !!!
L=10				! delka L [mm]
alfa=30				! uhel alfa [°]
beta=60				! uhel beta [°]
Fappl=1				! zatezna sila [N]
Emod=200000			! modul pruznosti v tahu zakladniho materialu [MPa]
nu=0.3				! Poissonuv pomer zakladniho materialu [-]
N=9				! pocet bunek ve smeru y [-]
ELSIZE=0.5			! velikost prvku [mm]
NSUBSTappl=20			! pocet substepu
pom_def=0.2			! konecna pomerna podelna deformace; kladna hodnota pro tah, zaporna pro tlak

*dim,T_matrix,array,9		! import externe vypoctenych hodnot tloustky odpovidajicich hodnotam uhlu beta pro danou modifikaci
T_matrix(1,1)=0.7735,0.6912,0.5982,0.4904,0.3619,0.2036

T=T_matrix(1,1)			! vyber prislusne tloustky, ktera odpovida uhlu beta nastavenemu v dany okamzik


SELTOL,1e-6		! automaticke nastaveni potrebnych parametru
TH=1
beta=90-beta

!!! Definice elementu !!!
ET,1,PLANE183

!!! Definice materialu !!!
MP,EX,1,Emod
MP,PRXY,1,,nu

!!! Tvorba geometrie !!!

	!!!Referencni geometrie !!!
K,10,0,L*cos(alfa),0
!K,20,L*sin(alfa),0,0
K,30,0,L*sin(alfa)*tan(beta)
!K,40,-L*sin(alfa),0,0

!L,10,20	$	L,20,30	$	L,30,40	$	L,40,10

	!!! Vnitrni geometrie !!!
K,1,0,L*cos(alfa)-(T/2)/sin(alfa),0
K,2,L*sin(alfa)-T/(2*sin((90-alfa-beta)/2))*cos((90-alfa+beta)/2),T/(2*sin((90-alfa-beta)/2))*sin((90-alfa+beta)/2),0
K,3,0,L*sin(alfa)*tan(beta)+(T/2)/cos(beta),0
!K,4,-L*sin(alfa)+T/(2*sin((90-alfa-beta)/2))*cos((90-alfa+beta)/2),T/(2*sin((90-alfa-beta)/2))*sin((90-alfa+beta)/2),0

L,1,2	$	L,2,3	!$	L,3,4	$	L,4,1	


	!!! Vnejsi geometrie !!!
K,11,0,L*cos(alfa)+(T/2)/sin(alfa)-(T/2)*(1/sin(alfa)-1/cos(beta)),0
K,1112,(T*sin(alfa)*(1/sin(alfa)-1/cos(beta)))/(2*(cos(alfa)-sin(alfa)*tan(beta))),L*cos(alfa)+(T/2)/sin(alfa)-(T*cos(alfa)*(1/sin(alfa)-1/cos(beta)))/(2*(cos(alfa)-sin(alfa)*tan(beta)))
K,12,L*sin(alfa),(T/2)/sin(alfa)
K,22,L*sin(alfa),-(T/2)/cos(beta),0
K,33,0,L*sin(alfa)*tan(beta)-(T/2)/cos(beta),0
!K,34,-L*sin(alfa),-(T/2)/cos(beta),0
!K,44,-L*sin(alfa),(T/2)/sin(alfa),0
!K,4411,-(T*sin(alfa)*(1/sin(alfa)-1/cos(beta)))/(2*(cos(alfa)-sin(alfa)*tan(beta))),L*cos(alfa)+(T/2)/sin(alfa)-(T*cos(alfa)*(1/sin(alfa)-1/cos(beta)))/(2*(cos(alfa)-sin(alfa)*tan(beta)))

L,11,1112	$	L,1112,12	$	L,12,22	$	L,22,33	$	L,33,30	$	L,30,3	$	L,11,10	$	L,10,1

LSEL,ALL
LPLOT

!!! Vytvoreni struktury !!!
	
	!!! Zakladni struktura !!!
LSEL,ALL
AL,ALL

!ASEL,ALL
!AGEN,N,ALL,,,2*L*sin(alfa),0,0,,0

ASEL,ALL
AGEN,N,ALL,,,,L*(cos(alfa)-sin(alfa)*tan(beta)),0,,0
AADD,ALL

!!! Vytvoreni site !!!
!K,100,0,L*cos(alfa)+(L*(cos(alfa)-sin(alfa)*tan(beta))),0
!HPTCREATE,AREA,2,,COORD,0,L*cos(alfa)+(L*(cos(alfa)-sin(alfa)*tan(beta))),0
ASEL,S,AREA,,N+1
ESIZE,ELSIZE
AATT,1,,1
AMESH,ALL

NUMMRG,NODE,0.000001
NUMMRG,KP,0.000001

!!! Okrajove podminky !!!
	!L*sin(alfa)*tan(beta)-(T/2)/cos(beta),L*sin(alfa)*tan(beta)+(T/2)/cos(beta)!L*sin(alfa)*tan(beta)-(T/2)/cos(beta)								
NSEL,S,LOC,Y,L*sin(alfa)*tan(beta)-(T/2)/cos(beta)								$	D,ALL,UY,0			
NSEL,S,LOC,X,0																	$	D,ALL,UX,0
NSEL,S,LOC,X,L*sin(alfa)														$	CP,1,UX,ALL
!NSEL,S,LOC,Y,L*cos(alfa)+(N-1)*(L*cos(alfa)-L*sin(alfa)*tan(beta))+(T/2)/sin(alfa)-(T/2)*(1/sin(alfa)-1/cos(beta))	$	CP,2,UY,ALL

ALLSEL,ALL

!!! Zatizeni !!!
NSEL,S,LOC,Y,L*cos(alfa)+(N-1)*(L*cos(alfa)-L*sin(alfa)*tan(beta))+(T/2)/sin(alfa)-(T/2)*(1/sin(alfa)-1/cos(beta))	$	NSEL,R,LOC,X,0
!NSEL,S,LOC,Y,L*cos(alfa)	$	LSEL,R,LOC,X,0
!NSEL,S,LOC,Y,L*cos(alfa)-(T/2)/sin(alfa)	$	NSEL,R,LOC,X,0
D,ALL,UY,pom_def*N*(L*cos(alfa)-(L*sin(alfa)*tan(beta)))
!F,ALL,FY,Fappl

ALLSEL,ALL


!!!!!!!!!!!!!!!!
!!! SOLUTION !!!
!!!!!!!!!!!!!!!!
	
/SOLU

ANTYPE,STATIC,NEW

NLGEOM,ON
AUTOTS,OFF    
NSUBST,NSUBSTappl    
OUTRES,ALL,ALL

SOLVE


!!!!!!!!!!!!!!!!!!!!!
!!! POSTPROCESSOR !!!
!!!!!!!!!!!!!!!!!!!!!

/POST1

!!!											!!!
!!! Zjisteni vysledku jednotlivych substepu !!!
!!!											!!!

*dim,UXDISP,array,NSUBSTappl
*dim,UYDISP,array,NSUBSTappl
*dim,UYDISP1,array,NSUBSTappl
*dim,UYDISP2,array,NSUBSTappl
*dim,X0,array,NSUBSTappl+1
*dim,Y0,array,NSUBSTappl+1
*dim,epsX,array,NSUBSTappl
*dim,epsY,array,NSUBSTappl
*dim,nuCALC,array,NSUBSTappl
*dim,S,array,NSUBSTappl
*dim,dsigma,array,NSUBSTappl
*dim,Ecalc,array,NSUBSTappl
*dim,FXsum,array,NSUBSTappl
*dim,FYsum,array,NSUBSTappl+1
*dim,FZsum,array,NSUBSTappl
*dim,epsX_total,array,NSUBSTappl
*dim,epsY_total,array,NSUBSTappl

X0(1,1)=L*sin(alfa)
Y0(1,1)=(L*cos(alfa)-(L*sin(alfa)*tan(beta)))
UXdisp_total=0
UYdisp_total=0

*DO,step,1,NSUBSTappl,1
	SET,,, ,,, ,step 
	
	!!! Zjisteni posuvu ve smeru x !!!
	NSEL,S,LOC,X,L*sin(alfa)
	*GET,minnode1,NODE,0,NUM,MIN
	*GET,UXdisp(step,1),NODE,minnode1,U,X

	!!! Zjisteni posuvu ve smeru y !!!
	!NSEL,S,LOC,Y,(L*cos(alfa)-(T/2)/sin(alfa))+(L*(cos(alfa)-sin(alfa)*tan(beta)))
	NSEL,S,LOC,Y,(L*cos(alfa))+(N/2-0.5)*(L*(cos(alfa)-sin(alfa)*tan(beta)))	$	NSEL,R,LOC,X,0	
	*GET,minnode2,NODE,0,NUM,MIN
	*GET,UYdisp2(step,1),NODE,minnode2,U,Y

	!NSEL,S,LOC,Y,(L*cos(alfa)-(T/2)/sin(alfa))	$	NSEL,R,LOC,X,0
	NSEL,S,LOC,Y,L*sin(alfa)*tan(beta)+(N/2-0.5)*(L*(cos(alfa)-sin(alfa)*tan(beta)))	$	NSEL,R,LOC,X,0		
	*GET,minnode3,NODE,0,NUM,MIN
	*GET,UYdisp1(step,1),NODE,minnode3,U,Y

	UYdisp(step,1)=UYdisp2(step,1)-UYdisp1(step,1)

	!!! Zjisteni pusobici sily !!!
	NSEL,S,LOC,Y,L*cos(alfa)+(N-1)*(L*cos(alfa)-L*sin(alfa)*tan(beta))+(T/2)/sin(alfa)-(T/2)*(1/sin(alfa)-1/cos(beta))	$	NSEL,R,LOC,X,0
	FSUM
	*GET,FXsum(step,1),FSUM,0,ITEM,FX    $  *GET,FYsum(step+1,1),FSUM,0,ITEM,FY      $  *GET,FZsum(step,1),FSUM,0,ITEM,FZ

	!!! Vypocet Poissonova pomeru !!!
	X0(step+1,1)=X0(1,1)+UXdisp(step,1)
	Y0(step+1,1)=Y0(1,1)+UYdisp(step,1)
	
	epsX(step,1)=(X0(step+1,1)-X0(step,1))/X0(step,1)
	epsY(step,1)=(Y0(step+1,1)-Y0(step,1))/Y0(step,1)

	nuCALC(step,1)=-epsX(step,1)/epsY(step,1)

	!!! Urceni plochy bunek !!!
	S(step,1)=X0(step,1)*TH

	!!! Vypocet E !!!
	dsigma(step,1)=(FYsum(step+1,1)-FYsum(step,1))/S(step,1)
	Ecalc(step,1)=abs(dsigma(step,1)/epsY(step,1))/Emod
	
	!!! Uprava matice FYsum !!!
	FYsum(step,1)=FYsum(step+1,1)
	
	!!! Celkova pomerna deformace X !!!
	epsX_total(step,1)=UXdisp(step,1)/X0(1,1)

	!!! Celkova pomerna deformace X !!!
	epsY_total(step,1)=UYdisp(step,1)/Y0(1,1)
	
*ENDDO	

!!! Uprava matice zatezne sily !!!
FYsum(NSUBSTappl+1,1)=0


!!!					!!!
!!! Export vysledku !!!
!!!					!!!

*MWRITE,UXdisp,vysledky_UXdisp,txt
(2F14.10)

*MWRITE,UYdisp,vysledky_UYdisp,txt
(2F14.10)

*MWRITE,X0,vysledky_X0,txt
(2F14.10)

*MWRITE,Y0,vysledky_Y0,txt
(2F14.10)

*MWRITE,epsX,vysledky_epsX,txt
(2F14.10)

*MWRITE,epsY,vysledky_epsY,txt
(2F14.6)

*MWRITE,epsX_total,vysledky_epsX_total,txt
(2F14.10)

*MWRITE,epsY_total,Avysledky_epsY_total,txt
(2F14.6)

*MWRITE,nuCALC,vysledky_nuCALC,txt
(2F14.4)

*MWRITE,S,vysledky_S,txt
(2F14.10)

*MWRITE,Ecalc,vysledky_Ecalc,txt
(2F15.10)

